Es gibt praktisch Hunderte von Modulen, die für die Arbeit mit Perl entwickelt wurden.
Viele davon sind Teil der Standard-Perl-Bibliothek und werden mit Perl selbst
ausgeliefert. Andere Module sind mit verschiedenen Perl-Ports zusammengefaßt, um
Perl-Programmierer, die Perl auf einer bestimmten Plattform einsetzen, die speziellen
Features dieser Plattformen verfügbar zu machen. Und dann gibt es noch das CPAN,
das Comprehensive Perl Archive Network, das als Ablage für benutzerdefinierte
Module dient, die auf diesem Wege einer größeren Entwicklergemeinde zur Verfügung
gestellt werden sollen. Dem CPAN werden ständig neue Module hinzugefügt, so dass
jede Referenz ausgewählter Perl-Module bereits zum Zeitpunkt ihrer Drucklegung
veraltet ist. Wenn Sie sich einen aktuellen Überblick über den Inhalt von CPAN
verschaffen wollen, schauen Sie nach unter http://www.perl.com/CPAN/CPAN.html
und seiner Begleitliste http://www.perl.com/CPAN/modules/00modlist.long.html
.
Dieser Anhang enthält deshalb nur einige der bekanntesten und nützlichsten Perl-
Module. Aus praktischen Erwägungen sind die Module dieses Anhangs genauso wie
im CPAN kategorisiert. Wenn ein bestimmtes Modul nicht als Teil der
Standardbibliothek gekennzeichnet ist, steht es im CPAN und muss heruntergeladen
und installiert werden, bevor es genutzt werden kann. Nachdem ein Modul auf Ihrem
System installiert wurde, können Sie mit perldoc MODULE
oder man MODULE
die
Dokumentation zu diesem Modul lesen.
Bitte bedenken Sie, dass dieser Anhang keinesfalls als vollständig zu betrachten ist. Ich habe bei der Zusammenstellung nur die Module berücksichtigt, die nützlich sind, und häufig verwendet werden oder die meines Erachtens anderweitig interessant sind. Es gibt jedoch noch jede Menge weiterer Module zu Ihrer Auswahl. In der perlmod- Manpage finden Sie eine komplette Liste der Module aus der Standard-Perl- Bibliothek. Die aktuelle Liste der CPAN-Module finden Sie unter den oben genannten URLs.
Beachten Sie außerdem, dass nicht alle Module auf allen Plattformen verfügbar sind. Sie können der Dokumentation, die zu Ihrem Modul gehört, entnehmen, ob es sich auf Ihrer Plattform ausführen läßt.
Pragmas sind Module, die Anweisungen enthalten, mit denen das Verhalten von Perl
zur Kompilier- und zur Laufzeit gesteuert werden kann. Sie werden wie alle Module
mit Hilfe der Funktion use
importiert. Diese Pragmas sind Teil der Standardbibliothek
von Perl. Zu allen Pragmas gibt es ausführliche Dokumentationen in den Manpages
(oder dem perldoc-System).
constant
Mit dem constant
-Pragma können Sie zur Kompilierzeit konstante Variablen
erzeugen.
diagnostics
Das diagnostics
-Pragma erzeugt weitere Auskünfte in den Warnungen von Perl. Es
entspricht dem Perl-Schalter -w
, hat aber den Vorteil, das man es bei Bedarf für
verschiedene Teile des Skriptes ein- und ausschalten kann. Die Manpage perldiag
enthält ausführlichere Informationen zu den Warnungen, die vom diagnostics
-
Pragma ausgegeben werden.
integer
Das integer
-Pragma teilt Perl mit, nur mit Integerarithmetik zu rechnen, was
schneller ist als die Alternative, Fließkommazahl-Arithmetik.
lib
Das lib
-Pragma bietet robustere Methoden zur Aufnahme weiterer Verzeichnisse in
@INC
(das Array, das die Liste der Verzeichnisse enthält, die nach Bibliotheken und
Modulen durchsucht werden).
overload
Das overload
-Pragma ermöglicht es Ihnen, Perl mitzuteilen, wie Operatoren für Ihre
Objekte arbeiten sollen.
sigtrap
Mit dem sigtrap
-Pragma können Sie das Drücken der Tastenkombination [Strg]
-[C]
während der Ausführung eines Perl-Programms abfangen und behandeln.
strict
Das strict
-Pragma erlaubt es Ihnen, symbolische Referenzen, globale Variablen und
reine Wörter (ohne Anführungsstriche und ohne Bedeutung) zu verbieten.
subs
Mit dem Pragma subs
können Sie Subroutinennamen im voraus deklarieren
vars
Mit dem Pragma vars
können Sie globale Variablen im voraus deklarieren, so dass sie
unter dem strict
-Pragma akzeptiert werden.
Diese Module, die zum größten Teil in der Standardbibliothek von Perl zu finden sind, stellen die grundlegende Funktionalität zur Verfügung, um Perl zu erweitern oder das Verhalten von Perl zu steuern.
Autoloader
Autoloader
ist ein Modul für Modulentwickler. Sie können damit Module nach Bedarf
laden und nicht erst, wenn sie ausgeführt werden. Autoloader
ist Teil der
Standardbibliothek.
B
B
ist eine Sammlung von Modulen, mit denen Sie auf den zugrundeliegenden Perl-
Compiler zugreifen können. Diese Module ermöglichen die Erzeugung neuer
Compiler-Schnittstellen, sogenannter Backends, die Ihren Perl-Code in C-Code
übersetzen, in plattformunabhängigen Byte-Code kompilieren oder in eine
ausführbare Datei kompilieren können.
Carp
Das Carp
-Modul ist vornehmlich für Modul-Entwickler interessant. Es bietet zusätzliche
Funktionen zur Fehlerbehandlung, ähnlich warn
oder die
, aber mit dem Unterschied,
dass sie berichten, wo der Aufruf der Subroutine, von der sie aufgerufen wurden,
erfolgte und nicht, wo sie sich innerhalb der Subroutine selbst befinden.
Normalerweise geben warn
und die
die Zeilennummer an, von der sie aufgerufen
wurden. Wenn ein Skript ein Modul importiert und dieses Modul dann so verwendet,
dass es ein warn
oder die
auslöst, liegt der Fehler irgendwo im Modul und nicht im
Skript. Die ausgegebenen Zeilennummern von warn
und die
sind in so einem Fall
beim Debuggen keine große Hilfe. Carp
-Ersatzroutinen für warn
und die
liefern
dagegen die Stelle in dem umgebenden Skript, wo der Fehler oder die Warnung
auftrat.
Config
Das Config
-Modul erlaubt es Ihnen, auf einen Hash namens %Config
zuzugreifen, der
die Einstellungen für die Perl-Installation enthält. Hier sind Informationen wie das
Installationsverzeichnis, der Name Ihres Betriebssystems und die Unterstützung für
bestimmte Funktionen gespeichert. Dieses Modul ist Teil der Standardbibliothek.
English
Mit dem English
-Modul können Sie alternative Namen für die Perl-Variablen mit den
kryptischen Namen, wie $_
, $!
, $|
und so weiter, verwenden. Das Modul English
ist
Teil der Standardbibliothek.
Exporter
Exporter
ermöglicht es Ihnen, Variablen von einem Paket zum anderen zu
exportieren. Es ist Teil der Standardbibliothek.
Opcode
Opcode
ist ein Modul für High-Level-Benutzer, die damit Perls interne Opcodes
manipulieren können. Es ist Teil der Standardbibliothek.
PodParser
Hinter PodParser
verbirgt sich ein Bündel an Modulen, die es Ihnen erlauben,
Dokumentationen, die im POD-Format (Plain Old Documentation) geschrieben sind,
zu manipulieren. So können Sie zum Beispiel mit Pod::Text
(eines der Module im
Bündel) die POD-Dokumenation in Nur-Text
umformatieren.
Symbol
Symbol
dient dazu, Perl-Symbole und ihre Namen zu handhaben. Das Modul Symbol
ist Teil der Standardbibliothek.
Die verschiedenen Tie
-Module (Tie::Hash
, Tie::Scalar
, Tie::StdHash
,
Tie::StdScalar
und Tie::StubstrHash
) bieten Basisklassen für gebundene Daten.
Sie sind alle Teil der Standardbibliothek.
Diese Module sollen Ihnen helfen, bessere Skripts zu schreiben. Sie umfassen ein Modul zum Testen der Leistungsfähigkeit Ihrer Programme (Benchmarking) sowie weitere Tools zur Analyse Ihrer Programme.
Benchmark
Das Benchmark
-Modul dient dazu, die Leistungsfähigkeit Ihrer Perl-Programme zu
messen. Zu diesem Zweck wird die CPU-Zeit angezeigt, die in einem bestimmten
Code-Abschnitt verbraucht wird. Das Modul ist Teil der Standardbibliothek.
Devel::Dprof
Devel::Dprof
ist ein sogenannter Profiler für Perl, der Informationen über die
Ausführungszeiten eines Programms und seiner einzelnen Subroutinen sammelt.
ExtUtils
Hinter ExtUtils
verbirgt sich eine Reihe von Modulen, die Ihnen helfen, Perl-
Erweiterungen (XSUBs) zu erstellen und zu paketieren. Viele von ihnen sind Teil der
Standardbibliothek.
Usage
Mit dem Usage
-Modul können Sie die Argumente von Subroutinen auf ihre Gültigkeit
hin prüfen. Mit Hilfe dieses Moduls läßt sich leicht sicherstellen, dass die Argumente
einer Subroutine einen bestimmten Wert enthalten oder von einem bestimmten
Datentyp sind.
Während Perl mehr oder weniger plattformunabhängig ist, stellen Module ganz spezielle plattformspezifische Funktionalität zur Verfügung, die Sie nutzen können, wenn Sie mit einer ganz bestimmten Plattform arbeiten.
AppleII
Das Modul AppleII
bietet Ihnen Zugriff auf AppleII-Grafiken auf Blockebene.
BSD::Resource
Wenn Ihr System die BSD
-Funktionen getrusage()
, getrlimit()
, setrlimit()
,
getpriority()
und/oder setpriority()
unterstützt, können Sie mit dem Modul
BSD::Resource
über Perl darauf zugreifen.
BSD::Time
Wenn Ihr Betriebssystem die BSD
-Funktionen gettimeofday()
und settimeofday()
unterstützt, stehen sie Ihnen mit diesem Modul auch in Ihren Perl-Programmen zur
Verfügung
Env
Das Env
-Modul macht Umgebungsvariablen über den %ENV
-Hash Ihrem Perl-
Programm verfügbar. Es ist Teil der Standardbibliothek.
Fcntl
Das Modul Fcntl
, »Fcntl« steht für File Control (Kontrolle über Dateien), bietet Ihnen
Zugriff auf Low-Level-Systemaufrufe, mit denen Sie Dateideskriptoren manipulieren
können. Es ist Teil der Standardbibliothek.
MacPerl enthält eine Reihe von Modulen, die Unterstützung für die Verwendung von
Macintosh-Features in Perl-Skripten bieten. Daneben finden Sie auch im CPAN
Module für den Zugriff auf weitere Macintosh-Features, beispielswese Mac::Types
für
den Zugriff auf Macintosh-Dateityp-Informationen, Mac::Apps::Launch
zum Starten
oder Verlassen von Anwendungen oder Mac::Apps:MacPGP
, mit der Sie eine
Schnittstelle zu der Mac-Version von PGP (Pretty Good Privacy) herstellen können.
OS2
Das OS2
-Modul enthält Binärdateien und Dienstprogramme für die OS2-Version von
Perl.
POSIX
Das POSIX
-Modul bietet Zugriff auf die Funktionen, die ein Betriebssystem
implementieren muss, um POSIX
-kompatibel zu sein. Es ist Teil der
Standardbibliothek, aber nur auf POSIX
-kompatiblen Plattformen.
Netzwerkmodule bieten Schnittstellen zu geläufigen (und nicht so geläufigen) Netzwerkprotokollen und -diensten. Siehe auch »Module für HTML, HTTP, WWW und CGI«.
IPC::Signal
IPC::Signal
bietet Ihnen eine Methode, um Signale des Betriebssystems zu
behandeln.
Net::Bind
Net::Bind
bietet Ihnen eine Schnittstelle, um Dämondateien zu binden.
Net::Cmd
Net::Cmd
ist ein Modul, das eine Reihe von Netzwerkbefehlen für Protokolle wie
SMTP und FTP enthält. Es ist Teil des libnet
-Bündels.
Net::Country
Net::Country
bildet die aus zwei Buchstaben bestehenden Ländercodes im Internet
auf die vollen Ländernamen ab. Es weiß zum Beispiel, dass TM für Turkmenistan
steht.
Net::DNS
Net::DNS
bietet eine Schnittstelle für DNS-Server. Mit diesem Modul kann jede Art
von DNS-Anfrage ausgeführt werden.
Net::Domain
Net::Domain
erlaubt es Ihnen, den Hostnamen und die Domäne des aktuellen Hosts
auszuwerten.
Net::FTP
Net::FTP
ist eine Schnittstelle zu FTP, dem Dateitransfer-Protokoll (File Transfer
Protocol). Es ist Teil des libnet
-Bündels.
Net::Gen
Net::Gen
ist eine allgemeine Socket-Schnittstelle für Perl. Es gehört zu dem Net-ext
-
Bündel.
Net::Ident
Net::Ident
wird verwendet, um den Benutzernamen am anderen Ende einer TCP-
Verbindung zu ermitteln. Dabei wird vorausgesetzt, dass auf der Remote-Maschine
IDENTD
ausführt wird.
Net::Inet
Net::Inet
stellt die grundlegenden Dienste für Socket-basierte Kommunikation bereit
und ist Teil des Net-ext
-Bündels.
Net::Netrc
Net::Netrc
stellt eine Schnittstelle zu .netrc
-Dateien bereit. Es ist Teil des libnet
-
Bündels.
Net::NIS, Net::NISPlus
Net::NIS
stellt eine Schnittstelle zu dem NIS (Network Information Service) von Sun
bereit und ermöglicht es mehreren Computern, die Benutzerkonto-Informationen zu
teilen. Net::NISPlus
stellt eine Schnittstelle zu der zweiten Generation von Sun-NIS
(NIS+) bereit.
Net::NNTP
Net::NNTP
ermöglicht Ihnen die Kommunikation über das Network News Transfer
Protocol (wird von Usenet verwendet). Es ist Teil des libnet
-Bündels.
Net::Ping
Net::Ping
erlaubt Ihnen, von einem Host die Informationen einzuholen, ob er an ist
und wie lange es dauert, bis Ihre Pakete dort eingehen.
Net::POP3
Net::POP3
stellt eine Schnittstelle zu dem POP3-Protokoll bereit (POP steht für Post
Office Protocol). In diesem Zusammenhang möchte ich auch auf das Modul
Mail::POP3Client
verweisen. Net::POP3
ist Teil des libnet
-Bündels.
Net::SMTP
Net::SMTP
stellt eine Schnittstelle zu dem Simple Mail Transfer Protocol bereit. Dieses
Protokoll wird von dem meisten Computern im Internet für den Mail-Verkehr genutzt.
Wenn Sie von einem Perl-Skript Mail senden wollen, sollten Sie dieses Modul nutzen.
Es ist Teil des libnet
-Bündels.
Net::SNPP
Net::SNPP
ist eine Schnittstelle zu dem Simple Network Pager Protocol. Es ist Teil des
libnet
-Bündels.
Net::SSLeay
Net::SSLeay
bietet eine Implementierung von Netscapes SSL-Protokoll (Secure
Sokkets Layer), die in Perl-Programmen genutzt werden kann.
Net::TCP
Mit Net::TCP
können Sie via TCP über Sockets kommunizieren. Es ist Teil des Net-
ext
-Bündels.
Net::Telnet
Mit Net::Telnet
können Sie eine Telnet-Verbindung zu einem anderen Computer
aufbauen und auf diesem Befehle ausführen.
Net::Time
Net::Time
erlaubt Ihnen, die aktuelle Zeit von einem anderen Computer im Internet
festzustellen. Dieses Modul ist Teil des libnet
-Bündels.
Net::UDP
Net::UDP
ermöglicht die Kommunikation über das UDP
-Protocol. Es ist Teil des Net-
ext
-Bündels.
SNMP
SNMP
ist eine Schnittstelle zu dem Simple Network Management Protocol.
Socket
Socket
bietet zusätzliche Strukturen und Konstanten, um die Funktionen von Perl für
die Socket-Kommunikation zu erweitern. Es ist Teil der Standardbibliothek.
Mit den Datentypmodulen können Sie Daten manipulieren, die zu bestimmten nicht von Perl unterstützten Datentypen gehören.
Date::DateCalc
Date::DateCalc
wird verwendet, um die Differenz zwischen zwei Datumsangaben
oder die Zeit bis zu einem gegebenen Datum zu berechnen.
Date::Format
Date::Format
enthält einige Datumsformatierungs-Routinen, die die Datumswerte in
ASCII-Code konvertieren. Es ist Teil des TimeDate
-Bündels.
Date::Language
Date::Language
wird benötigt, um Datumsangaben in verschiedene Sprachen zu
konvertieren. Es ist Teil des TimeDate
-Bündels.
Date::Manip
Date::Manip
wird verwendet, um Datumswerte zu manipulieren. Es kann
Zeitdifferenzen und Offsets berechnen, und es kann Datumsangaben in das Unix-
Zeitformat parsen. Außerdem akzeptiert es die Datumsangaben in einer Vielzahl von
Formaten.
Date::Parse
Date::Parse
konvertiert Datumsangaben in das Unix-Zeitformat. Es ist Teil des
TimeDate
-Bündels.
Math::BigFloat, Math::BigInt
Mit Math::Bigfloat
und Math::BigInt
können Sie Integer und Fließkommazahlen
beliebiger Länge in Perl verwenden. Es ist Teil der Standardbibliothek.
Math::Complex
Mit Math::Complex
können Sie komplexe Zahlen verarbeiten. Teil der
Standardbibliothek.
Math::Fraction
Math::Fraction
ermöglicht es Ihnen, in Perl Brüche zu verarbeiten.
Math::Matrix
Math::Matrix
ermöglicht es Ihnen, in Perl mathematische Operationen auf Matrizen
auszuführen.
Math::PRSG
Math::PRSG
bietet Ihnen einen viel leistungsfähigeren Generator von Zufallszahlen als
der von Perl (srand
und rand
). PRSG steht für Pseudo Random Sequence Generator,
wird jedoch von Math::TrulyRandom
noch übertroffen.
Math::Trig
Math::Trig
bietet Ihnen Umkehrfunktionen und hyperbolische trigonometrische
Funktionen. Diese sind auch in dem (gebündelten) POSIX
-Modul zu finden.
Math::TrulyRandom
Math::TrulyRandom
erzeugt Zufallszahlen aus Interrupt-Timing-Diskrepanzen.
Ref
Mit dem Ref
-Modul können Sie Perl-Referenzen vergleichen und kopieren.
Sort::Versions
Sort::Versions
erlaubt Ihnen, Versionsnummern zu sortieren, so dass Nummern wie
4.1a, 1.1.1 und 4.003_02 in der richtigen Reihenfolge stehen.
Statistics::Descriptive
Mit Statistics::Descriptive
können Sie einfache statistische Operationen
durchführen (zum Beispiel Mittel-, Median- und Modalwert sowie
Standardabweichungen berechnen).
Time-Modules
In dem Bündel Time-Modules
sind folgende Module zum Behandeln und Ändern von
Zeit- und Datumswerten enthalten: Time::CTime
, Time::JulianDay
,
Time::ParseDate
, Time::Timezone
und Time::DaysInMonth
.
Mit TimeDate
verfügen Sie über ein weiteres Bündel von Modulen zum Konvertieren
von Zeit- und Datumsangaben sowie zum Ändern von Zeit- und Datumswerten. Es
enthält die folgenden Module: Date::Format
, Date:.:Language
, Date::Parse
und
Time::Zone
.
Diese Module bieten Schnittstellen zu relationalen Datenbankdateien sowie zu DBM- Datenbankdateien.
AnyDBM_File
AnyDBM_File
wird verwendet, um Dateien aller Datenbank-Manager-Formate zu
handhaben, einschließlich DBM, GDBM, SDMB und so weiter. Es ist Teil der
Standardbibliothek.
DBD
DBD
steht für Datenbanktreiber (Database Driver). Es handelt sich dabei um ein Paket,
das einen Perl-Treiber für viele verschiedene relationale Datenbanken bereitstellt. Als
Entwicklung der Perl-DBI-Initiative bietet es eine Standardschnittstelle zu allen
Datenbanken, die es unterstützt. Zur Zeit gibt es DBD-Treiber für Oracle, Sybase,
Informix, DB2, solid, MSQL, MySQL, ODBC und andere Systeme. DBD funktioniert
so, dass es den Backend-Treiber für das DBI
-Modul bereitstellt, das dann die Standard-
Datenbankschnittstelle implementiert.
DBI
DBI
(Database Interface) implementiert eine Standardschnittstelle für den Zugriff auf
relationale Datenbankdateien. Durch die Kombination des DBI
-Moduls mit dem
entsprechenden DBD
-Treiber können Sie eine Verbindung zu den populärsten
relationalen Datenbank-Engines im Handel herstellen.
DB_File
DB_File
stellt eine Schnittstelle zu Berkeley DB bereit, das frei verfügbar ist. Diese
Funktionalität finden Sie auch in AnyDBMF_File
.
Msql
Das Modul Msql
ist eine Schnittstelle zwischen Perl und Mini-SQL, einer relationalen
Datenbank-Engine für Unix-Systeme. Diese Funktionalität erhalten Sie auch über DBD/
DBI
.
Oraperl
Oraperl
ist eine Perl4-Schnittstelle zu Oracle-Datenbanken. Es wurde durch DBI
und
dem DBD
-Treiber für Oracle ersetzt. Ich erwähne es hier nur, da es noch häufig zu
finden ist.
Pg
Pg
ist eine Schnittstelle zu der frei verfügbaren relationalen Postgres-Datenbank-
Engine.
SDBM_File
SDBM_File
ist eine Schnittstelle zu SDBM, dem Simple Database Manager, der Teil
der Standardbibliothek ist. Da SDBM gebündelt ist, können Sie mit Hilfe dieses
Moduls portierbare Skripts schreiben.
Sybperl
Sybperl
ist eine inzwischen veraltete Schnittstelle zu Sybase für Perl. Es wurde durch
die Funktionalität in DBI
und DBD
ersetzt.
Die Module für die Benutzerschnittstellen bieten Programmierschnittstellen von Perl zu Benutzerschnittstellen-Toolkits wie X Windows, curses und Tk.
Curses
Das Modul Curses
ermöglicht es Ihnen, ASCII-Benutzerschnittstellen mit curses zu
erstellen.
Qt
Das Modul Qt
ermöglicht es Ihnen, das Toolkit Qt GUI für X Windows zu benutzen,
das von Troll Tech geschrieben wurde.
Term::AnsiColor
Mit Term::AnsiColor
können Sie die Escape-Codes für die ANSI-Farbsequenzen
verwenden.
Term::Gnuplot
Term::Gnuplot
ermöglicht es Ihnen, die Low-Level-Zeichenroutinen des Gnuplot-
Systems von Perl aus zu verwenden.
Tk
Tk
ist eine Perl-Schnittstelle zu dem Tk-Grafik-Toolkit. Tk macht es einfach,
Anwendungen in Skriptprachen (wie Perl) zu erstellen. Die häufig gestellten Fragen
(FAQs) zu Perl/Tk finden Sie unter http://www.perl.com/CPAN-local/doc/FAQs/tk/
.
X11::FVWM
X11::FVWM
ist eine Schnittstelle zu der Fvwm2
-API (ein Windows-Manager für X
Windows).
X11::Protocol
X11::Protocol
stellt eine Schnittstelle zu dem grundlegenden X-Windows-Protokoll
bereit.
Diese Module bieten Ihnen Zugang zu Optionen des Dateisystems, die sonst nicht von Perl unterstützt werden.
Cwd
Cwd
stellt drei Funktionen bereit, um das aktuelle Arbeitsverzeichnis von aus Perl
einzustellen. Es ist Teil der Standardbibliothek.
File::Df
Eine Implementierung des Unix-Befehls df
in Perl. Mit diesem Befehl können Sie
feststellen, wie voll Ihre Festplatte ist.
File::Flock
File::Flock
ist eine Hüllfunktion für den Systemaufruf flock
. Der Systemaufruf
flock()
ermöglicht es Ihnen, Dateien zu sperren, damit nicht zwei Prozesse
gleichzeitig in die gleiche Datei schreiben können. Auf diese Weise wird unnötiger
Datenverlust verhindert. File::Lock
ist eine weitere Hüllfunktion für flock
.
File::Copy
Mit File::Copy
können Sie Dateien über den Namen oder den Datei-Handle von Perl
aus kopieren. Es ist Teil des File::Tools
-Bündels.
File::Lock
File::Lock
ist, analog zu File::Flock
, eine Hüllfunktion für den Systemaufruf flock
.
File::Lockf
File::Lockf
ist ebenfalls ein Modul zum Sperren von Dateien. Es unterscheidet sich
von den anderen Modulen, da es statt flock
den Systemaufruf lockf
verwendet. Das
hat den Vorteil, dass auch Dateien auf Festplatten, die dem Netzwerk angehängt sind,
gesperrt werden können.
File::Recurse
File::Recurse
ermöglicht es Ihnen, eine Operation auf einem ganzen
Verzeichnisbaum auszuführen. Es ist Teil des Moduls File::Tools
.
File::Tools
File::Tools
enthält die Module File::Copy
und File::Recurse
.
Im CPAN gibt es eine ganze Reihe von Modulen, die Ihnen Funktionen zur Bearbeitung von Strings zur Verfügung stellen. Bevor Sie selbst irgendwelchen Code zur Stringbearbeitung schreiben, sollten Sie auf alle Fälle prüfen, ob Ihnen nicht bereits jemand die Arbeit abgenommen hat.
Diese Module dienen dazu, Optionen zu parsen, die Ihren Programmen in normalen
Formaten übergeben wurden, einschließlich Befehlszeilenargumente und Windows
ini
-Dateien.
Getopt::Long
Getopt::Long
ermöglicht es Ihnen, POSIX
-Befehlszeilenoptionen, inklusive Gnu-
Erweiterungen, einzuparsen. Es ist Teil der Standardbibliothek.
Getopt::Mixed
Getopt::Mixed
ermöglicht es Ihnen, Befehlszeilenoptionen im Gnu-Stil zu
verarbeiten. Es enthält Elemente von Getopt::Long
und Getopt::Std
.
Getopt::Std
Mit Getopt::Std
können Sie Befehlszeilenoptionen in Ihren Perl-Programmen
verarbeiten. Details dazu finden Sie in den Beispielen aus Kapitel 15, »Dateien und E/
A«.
IniConf
Mit IniConf
können Sie die ini
-Dateien von Windows lesen und schreiben.
Mit diesen Modulen ist es leichter, Programme zu schreiben, die für die Verwendung in anderen Lokalen (landesspezifischen Umgebungen) entworfen werden.
I18N::Collate
Mit I18N::Collate
können Sie skalare Werte, die aus 8-Bit-Zeichen bestehen, auf der
Basis der aktuellen Lokale vergleichen.
Locale::Codes
Locale::Codes
bietet Zugriff auf die komplette Liste der zweibuchstabigen Länder-
Codes.
Unicode
Das Unicode
-Modul bietet Unterstützung für Unicode-Zeichensätze in Perl. Dieses
Modul wird bald Teil der Perl-Kernsprache sein.
Hierunter sind Module zusammengefaßt, die Zugriff auf Algorithmen zur allgemeinen Sicherheit, Verschlüsselung und Authentifizierung bieten. Einige dieser Module lassen sich nur anwenden, wenn bestimmte Systemebenen-Bibliotheken vorhanden sind.
Authen::Radius
Authen::Radius
bietet eine Schnittstelle zum Radius-Network-Authentication-
Protokoll.
Crypt::Des
Crypt::Des
ermöglicht es Ihnen, den DES-Blockverschlüsselungs-Algorithmus zu
verwenden.
Crypt::Idea
Crypt::Idea
ermöglicht es Ihnen, den IDEA-Blockverschlüsselungs-Algorithmus zu
verwenden.
MD5
MD5
ist ein Nachrichtenverarbeitungs-Algorithmus, der es Ihnen ermöglicht, mit RSA
einen Einwege-»Daumenabdruck« zu einer Nachricht zu erzeugen, der dazu dient,
deren Integrität zu gewährleisten,. Mit dem MD5-Modul können Sie MD5-
Daumenabdrücke erzeugen.
PGP
Das PGP
-Modul ist eine Schnittstelle zu der Verschlüsselungssoftware Pretty Good
Privacy.
Module, die für webspezifische Aufgaben benötigt werden, einschließlich der CGI- und Webclient-Programmierung.
Apache
Die Apache
Perl-Module ermöglichen Ihnen, in Perl Module für den Apache-
Webserver zu schreiben. Diese werden dann von einem Perl-Interpreter ausgeführt,
der in dem Apache httpd
-Server eingebettet ist. Der Vorteil liegt darin, dass Sie dann
nicht immer den Perl-Interpreter starten müssen, wenn eines dieser Programme
aufgerufen wird.
CGI
Das CGI
-Modul, das ab Version 5.004 Teil der Standardbibliothek ist, läßt Sie schnell
und einfach CGI-Programme aufsetzen, die Formulare erzeugen, verarbeiten und auf
diese antworten. Es ist ein fast unentbehrliches Tool für alle CGI-Programmierer.
Weitere Informationen dazu finden Sie in Kapitel 16, »Perl für CGI-Skripts«, oder in
Sams Teach Yourself CGI-Programming in a Week.
libwww
libwww
ist ein großes Bündel von acht separaten Modulgruppen, mit denen Sie
HTTP-Benutzeragenten in Perl erzeugen können. Des weiteren können Sie HTML
parsen und übersetzen, MIME-codierten Inhalt bearbeiten etc. Die darin enthaltenen
Bündel lauten File
, Font
, HTML
, HTTP
, LWP
, MIME
, URI
und WWW
.
Dieser Abschnitt behandelt die Schnittstellen zu allgemeinen Komprimierungsalgorithmen.
Compress
Compress
bietet eine Schnittstelle zu der Unix-Bibliothek zlib
, mit der Sie Dateien mit
der Standardkomprimierung von Unix (.Z
) komprimieren können.
Convert::BinHex
Mit Convert::BinHex
können Sie Header, Daten- und Ressourcenverzweigungen aus
Macintosh-Dateien extrahieren.
Convert::UU
Convert::UU
ermöglicht es Ihnen, Dateien mit uu zu codieren und zu decodieren.
Dieser Abschnitt enthält Module zum Erstellen und Bearbeiten von Grafiken.
GD
GD
ist eine Perl-Version der beliebten gd-Bibliothek für C. Damit können Sie in Perl
GIF-Grafiken erzeugen und bearbeiten.
Image::Size
Mit Image::Size
können Sie die Größe einer Grafik bestimmen.
Image::Magick
PerlMagick ist eine Schnittstelle zu dem Grafik-Tool ImageMagick auf der Basis von X Windows.
Diese Module bieten Schnittstellen zu den allgemeinen Mail-Diensten und Usenet- News.
Mail::POP3Client
Mail::POP3Client
ist eine clientseitige Schnittstelle für POP3-Mailserver.
News::Newsrc
News::Newsrc
ermöglicht es Ihnen, mit Perl .newsrc
-Dateien zu lesen und zu
manipulieren. Die .newsrc
-Dateien dienen dazu, die von einem Benutzer gelesenen
Newsgroups zu verfolgen.
Mit diesen Modulen können Sie größeren Einfluß darauf nehmen, wie sich ihr
Programm zur Laufzeit verhält. Sehen Sie dazu auch das Pragma sigtrap
.
AtExit
Das Modul AtExit
ermöglicht Ihnen, Code zu schreiben, der ausgeführt wird, wenn
Ihr Programm beendet ist. Eine ähnliche Funktionalität ist durch die END
-Blocks
gegeben (die am Tag 13 besprochen wurden). Auch das POSIX
-Modul implementiert
eine atexit
-Funktion.
Religion
Das Modul mit dem netten Namen Religion
ermöglicht es Ihnen, anzugeben, wo Ihre
Perl-Programme hingehen, wenn sie sterben (die
). Zu diesem Zweck erleichtert Ihnen
das Modul den Zugriff auf die Funktionen $SIG{__DIE__}
und $SIG{__WARN__}
.
Diese Module stellen zusätzliche Dienste für die Dateieingabe und -ausgabe in Ihren Programmen bereit.
DirHandle
DirHandle
ermöglicht es Ihnen, Verzeichnis-Handles als Objekte zu verwenden.
Dieses Modul ist Teil der Standardbibliothek.
FileCache
Das Modul FileCache
erlaubt es Ihnen, die Beschränkungen bezüglich der Anzahl der
zu einem Zeitpunkt gleichzeitig geöffneten Dateideskriptoren zu umgehen. Das Modul
ist Teil der Standardbibliothek.
FileHandle
Mit FileHandle
können Sie Datei-Handles als Objekte verwenden. Es ist Teil der
Standardbibliothek.
IO
Mit dem Modul IO
können Sie die Module IO::Handle
, IO::Seekable
, IO::File
,
IO::Pipe
und IO::Socket
gleichzeitig laden. Alle diese Module sind Teil der
Standardbibliothek.
Windows-Module stellen Ihnen Funktionalität zur Verfügung, die speziell auf Windows- Plattformen zugeschnitten ist. Sie bieten Zugriff auf Nur-Windows-Dienste oder stellen die Funktionalität anderer Plattformen für Windows-Benutzer bereit.
libwin32
Das libwin32
-Bündel ist eine Familie von Modulen, die Zugriff auf eine Vielzahl von
Optionen der Windows-Plattform bieten. Sie sind Teil der ActiveState-Version von
Perl für Windows. Viele von ihnen sind in Kapitel 18, »Perl und das Betriebssystem«,
beschrieben.
Dieser Abschnitt beschreibt Module, die sich nicht unter den anderen Kategorien des CPAN einordnen lassen.
Archie
Archie ist ein Dienst, der den Inhalt von FTP-Sites katalogisiert. Mit dem Archie
-
Modul können Sie Archie-Anfragen von Perl aus erzeugen.
Business::CreditCard
Mit dem Modul Business::CreditCard
können Sie die Gültigkeit von Kreditkarten
überprüfen und den Kartentyp aus der Kartennummer ablesen.
CPAN
Das CPAN
-Modul ermöglicht Ihnen, Perl-Module aus dem CPAN automatisch
herunterzuladen und zu installieren. Dafür benötigen Sie das Modul Net::FTP
und eine
Internet-Verbindung.